#ifndef _WX_CHOICE_H_BASE_
#define _WX_CHOICE_H_BASE_

// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------

#include "wx/defs.h"

#if wxUSE_CHOICE

#include "wx/ctrlsub.h"     // the base class

extern const wxChar wxChoiceNameStr[];

class wxChoiceBase : public wxControlWithItems {
  public:
    wxChoiceBase() { }
    virtual ~wxChoiceBase();
    virtual int GetCurrentSelection() const { return GetSelection(); }

    // set/get the number of columns in the control (as they're not supported on
    // most platforms, they do nothing by default)
    virtual void SetColumns( int n = 1 ) { }
    virtual int GetColumns() const { return 1 ; }

    // emulate selecting the item event.GetInt()
    void Command( wxCommandEvent& event );

  private:
    DECLARE_NO_COPY_CLASS( wxChoiceBase )
};


#include "wx/gtk/choice.h"

#endif // wxUSE_CHOICE

#endif // _WX_CHOICE_H_BASE_
